package com.demo.backtemplate.models.converter;

import lombok.extern.slf4j.Slf4j;
import com.demo.backtemplate.models.dto.UserDTO;
import com.demo.backtemplate.models.entity.User;

/**
 * 用户实体与DTO之间的转换器
 */
@Slf4j
public class UserConverter {
    
    /**
     * 将用户实体转换为DTO（脱敏处理）
     *
     * @param user 用户实体
     * @return 用户DTO
     */
    public static UserDTO toDTO(User user) {
        if (user == null) {
            log.warn("用户实体为空，无法转换为DTO");
            return null;
        }
        
        log.info("转换用户数据为DTO，用户ID: {}", user.getUserId());
        UserDTO dto = new UserDTO();
        dto.setUserId(user.getUserId());
        dto.setUsername(user.getUsername());
        dto.setRealName(user.getRealName());
        dto.setPhone(user.getPhone());
        dto.setRole(user.getRole());
        dto.setStatus(user.getStatus());
        dto.setCreateTime(user.getCreateTime());
        
        return dto;
    }
} 